<?php
//date() 格式化一个本地时间/日期
echo date ('北京时间：Y年m月d日 H：i：s.v e');
//datetime对象的创建及格式化
$d=new DateTime();
print_r($d);
echo $d->format("北京时间：Y年m月d日 H：i：s.v e");
echo"---------------------------\n";
$a=[new DateTime(),
    new DateTime("now"),
    new DateTime("today"),
    new DateTime("yesterday"),
    new DateTime("2025-9-1"),
    new DateTime("2025-9-1 8:20:30"),
];
foreach ($a as $d){
    echo $d->format("北京时间：Y年m月d日 H：i：s.v e\n");
}
//getTimestamp() 获取Unix时间戳
$second=(new DateTime('1970-1-1'))->getTimestamp();
print_r($second);
echo 8*60*60,"\n";
$d=new DateTime('@0');
echo $d->format("世界协调时：Y年m月d日 H：i：s.v e\n");

//日期的修改
$d->setTimezone(new dateTimeZone("Asia/shanghai"));
echo $d->format("北京时间：Y年m月d日 H：i：s.v e\n");
$d=new DateTime("now 12:34:56");
echo $d->format("北京时间：Y年m月d日 H：i：s.v e\n");

//写一个函数，输出给定年，月的日历
function lunarCalendar(int $year, int $month):void {
    $d=new DateTime("$year-$month");
    $w=$d->format("N")-1; //一：0
    echo "     {$year}年{$month}月\n";
    echo "一 二 三 四 五 六 日\n";
    echo str_repeat("   ",$w);
    $days=$d->format("t");
    for($i=1;$i<=$days;$i++) {
        printf("%2d ", $i);
        if(($w+$i)%7===0)echo "\n";
    }
}
lunarCalendar(2025,10);//输出2025年10月的月历